def outer():
    b = 0

    def inner():
        print(b)

    return inner  # 实际上inner并没有执行，只是返回了inner函数在内存中的地址


f = outer()
print(f)
f()  # 仍然可以被执行，打印 b，说明变量 b 未被回收
